emoji chooser: Fix incremental loading
authorMatthias Clasen <mclasen@redhat.com>
Fri, 4 Dec 2020 15:58:24 +0000 (10:58 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 4 Dec 2020 16:09:43 +0000 (11:09 -0500)
This broke when we started using GDK_PROFILER_CURRENT_TIME for
timekeeping - that gets defined to 0 when we're building without
sysprof, so we can use it to make such determinations. Go back
to using g_get_monotonic_time().

Fixes: #3438
gtk/gtkemojichooser.c

index d5ec7639362ac72729f298e25035171eaced561b..a41c4b49d5c029679d2eeb489e85f67cebbef25b 100644 (file)
@@ -672,7 +672,7 @@ populate_emoji_chooser (gpointer data)
   GVariant *item;
   gint64 start, now;
 
-  start = GDK_PROFILER_CURRENT_TIME;
+  start = g_get_monotonic_time ();
 
   if (!chooser->data)
     {
@@ -718,10 +718,10 @@ populate_emoji_chooser (gpointer data)
       add_emoji (chooser->box, FALSE, item, 0, chooser);
       g_variant_unref (item);
 
-      now = GDK_PROFILER_CURRENT_TIME;
-      if (now > start + 2000000) /* 2 ms */
+      now = g_get_monotonic_time ();
+      if (now > start + 200) /* 2 ms */
         {
-          gdk_profiler_add_mark (start, (now - start), "emojichooser", "populate");
+          gdk_profiler_add_mark (start * 1000, (now - start) * 1000, "emojichooser", "populate");
           return G_SOURCE_CONTINUE;
         }
     }